﻿using System.Collections.Generic;

namespace Endos.Wodo.Domain
{
    public class Character : NameEntity
    {
        public virtual VirtueType Virtue { get; set; }
        public virtual ViceType Vice { get; set; }
        public virtual MoralityType Morality { get; set; }

        public virtual bool IsDraft { get; set; }

        public virtual int TotalExperience { get; set; }
        public virtual int Experience { get; set; }

        public virtual int WillpowerSpent { get; set; }

        public virtual int ModifierVitality { get; set; }
        public virtual int ModifierInitiative { get; set; }
        public virtual int ModifierSize { get; set; }
        public virtual int ModifierDefense { get; set; }
        public virtual int ModifierWillpower { get; set; }

        public virtual int BashingDamage { get; set; }
        public virtual int LethalDamage { get; set; }
        public virtual int AggravatedDamage { get; set; }

        public virtual int Strength { get; set; }
        public virtual int Dexterity { get; set; }
        public virtual int Stamina { get; set; }

        public virtual int Presence { get; set; }
        public virtual int Manipulation { get; set; }
        public virtual int Composure { get; set; }

        public virtual int Intelligence { get; set; }
        public virtual int Wits { get; set; }
        public virtual int Resolve { get; set; }

        public virtual int Athletics { get; set; }
        public virtual int Brawl { get; set; }
        public virtual int Drive { get; set; }
        public virtual int Firearms { get; set; }
        public virtual int Larceny { get; set; }
        public virtual int Stealth { get; set; }
        public virtual int Survival { get; set; }
        public virtual int Weaponry { get; set; }

        public virtual int AnimalKen { get; set; }
        public virtual int Empathy { get; set; }
        public virtual int Expression { get; set; }
        public virtual int Intimidation { get; set; }
        public virtual int Persuasion { get; set; }
        public virtual int Socialize { get; set; }
        public virtual int Streetwise { get; set; }
        public virtual int Subterfuge { get; set; }

        public virtual int Academics { get; set; }
        public virtual int Crafts { get; set; }
        public virtual int Computer { get; set; }
        public virtual int Investigation { get; set; }
        public virtual int Medicine { get; set; }
        public virtual int Occult { get; set; }
        public virtual int Politics { get; set; }
        public virtual int Science { get; set; }

        public virtual Chronicle Chronicle { get; set; }
        public virtual User User { get; set; }
        public virtual Armor Armor { get; set; }
        public virtual IList<CharacterMerit> Merits { get; set; }
        public virtual IList<CharacterDisturbance> Disturbances { get; set; }
        public virtual IList<Weapon> Weapons { get; set; }
        public virtual IList<Equipment> Equipments { get; set; }
        public virtual IList<Specialization> Specializations { get; set; }
        public virtual IList<Flaw> Flaws { get; set; }
    }
}
